package com.manager.car.dao;


import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.springframework.orm.hibernate5.HibernateCallback;

import com.manager.car.po.CarRoom;
import com.manager.car.util.PageModel;


public class CarRoomDaoImpl extends BaseDao<CarRoom>  implements ICarRoomDao{
	
	private PageModel<CarRoom> pageModel;
	

	@SuppressWarnings({ "unchecked", "rawtypes" })
	public PageModel<CarRoom> queryPageModelByHql(final int pageNo ,final int pageSize,final String hql) {
		 this.pageModel = (PageModel<CarRoom>)this.getHibernateTemplate().execute(new HibernateCallback() {

			public PageModel<CarRoom> doInHibernate(Session session) throws HibernateException {
				List<CarRoom> list = session.createQuery(hql)
						.setFirstResult((pageNo-1)*pageSize)
						.setMaxResults(pageSize)
						.list();
				List<CarRoom> counts = session.createQuery(hql).list();
				int totalCount = counts.size();
				pageModel.setCode(0);
				pageModel.setCount(totalCount);
				pageModel.setMsg("我不是懒，我只是没学！");
				pageModel.setData(list);
				return pageModel;
			}
		});
		return pageModel;
	}

	//update ManagerInfoStatic equals 0
	public boolean updataCarRoomEndTimeById(Integer id){
		CarRoom car = queryById(id);
		boolean bool = false;
		if(car != null) {
			Date dt = new Date();
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			String time = sdf.format(dt);
			car.setCarRoomEndTime(time);
			System.out.println("============================3"+car.getCarRoomEndTime());
			bool = this.update(car);
		}
		return bool;
	}

	public PageModel<CarRoom> getPageModel() {
		return pageModel;
	}

	public void setPageModel(PageModel<CarRoom> pageModel) {
		this.pageModel = pageModel;
	}


}
